
CC=g++
CXX=g++
OCPPFLAGS=-O3 -ffast-math -fomit-frame-pointer -Wall $(CPRECFLAG) -D NDEBUG
DCPPFLAGS=-O0 -ggdb -Wall $(CPRECFLAG) -fbounds-check -D_GLIBCXX_DEBUG -g3 -fno-inline

ifdef DEBUG
  ext=g
  dflag=dbg
  CPPFLAGS=$(DCPPFLAGS)
else
 ifdef NOVECTORIZE
  ext=nv_o
  dflag=novec_opt
  CPPFLAGS=$(OCPPFLAGS)
 else
  ext=o
  dflag=opt
  CPPFLAGS=$(OCPPFLAGS)
 endif
endif


CPPOBJS = mpError.$(ext) mpICallback.$(ext) mpIfThenElse.$(ext) mpIOprt.$(ext) mpIPackage.$(ext) mpIToken.$(ext) mpIValReader.$(ext) mpIValue.$(ext) mpPackageCmplx.$(ext) mpPackageCommon.$(ext) mpPackageNonCmplx.$(ext) mpPackageStr.$(ext) mpParserBase.$(ext) mpParser.$(ext) mpRPN.$(ext) mpScriptTokens.$(ext) mpTokenReader.$(ext) mpValReader.$(ext) mpValueCache.$(ext) mpValue.$(ext) mpVariable.$(ext)
CPPHEAD = mpDefines.h mpError.h mpFuncCmplx.h mpFuncCommon.h mpFuncNonCmplx.h mpFuncStr.h mpFwdDecl.h mpICallback.h mpIfThenElse.h mpIOprt.h mpIPackage.h mpIPrecedence.h mpIToken.h mpIValReader.h mpIValue.h mpOprtBinAssign.h mpOprtBinCommon.h mpOprtCmplx.h mpOprtNonCmplx.h mpPackageCmplx.h mpPackageCommon.h mpPackageNonCmplx.h mpPackageStr.h mpPackageUnit.h mpParserBase.h mpParser.h mpRPN.h mpScriptTokens.h mpStack.h mpTest.h mpTokenReader.h mpTypes.h mpValReader.h mpValueCache.h mpValue.h mpVariable.h suSortPred.h utGeneric.h
CPPSRC = mpError.cpp mpFuncCmplx.cpp mpFuncCommon.cpp mpFuncNonCmplx.cpp mpFuncStr.cpp mpICallback.cpp mpIfThenElse.cpp mpIOprt.cpp mpIPackage.cpp mpIToken.cpp mpIValReader.cpp mpIValue.cpp mpOprtBinAssign.cpp mpOprtBinCommon.cpp mpOprtCmplx.cpp mpOprtNonCmplx.cpp mpPackageCmplx.cpp mpPackageCommon.cpp mpPackageNonCmplx.cpp mpPackageStr.cpp mpPackageUnit.cpp mpParserBase.cpp mpParser.cpp mpRPN.cpp mpScriptTokens.cpp mpTest.cpp mpTokenReader.cpp mpValReader.cpp mpValueCache.cpp mpValue.cpp mpVariable.cpp 
 


default : ctags
	make libmpParser_$(dflag).a 

clean :  
	rm -f $(CPPOBJS) libmpParser_$(dflag).a


tags : *.cpp *.h 
	ctags *.h *.cpp

ctags : tags


%.$(ext) : %.cpp
	$(CXX) -c $(CPPFLAGS) $(INCDIR) $*.cpp -o $*.$(ext)

libmpParser_$(dflag).a : $(CPPOBJS) ctags
	rm -f libmpParser_$(dflag).a
	ar rcs libmpParser_$(dflag).a $(CPPOBJS)

